home *** CD-ROM | disk | FTP | other *** search
/ Young Minds / Young Minds Interactive CD-ROM.ISO / wanderer / display.c next >
Encoding:
C/C++ Source or Header  |  1988-10-26  |  2.4 KB  |  118 lines

  1. #include "wand_head.h"
  2.  
  3. extern int debug_disp;
  4.  
  5. void map(row_ptr)
  6. char (*row_ptr)[ROWLEN+1];
  7. {
  8. int  x,y;
  9. char ch;
  10. move(0,0);
  11. addch('+');
  12. for(x = 0;x < ROWLEN; x++)
  13.     addch('-');
  14. addch('+');
  15. for(y = 0;y < NOOFROWS; y++)
  16.     {
  17.     move(y+1,0);
  18.     addch('|');
  19.     for(x = 0; x < ROWLEN; x++)
  20.     {
  21.     ch = (*row_ptr)[x];
  22.     if(!debug_disp)
  23.         {
  24.         if((ch == 'M')||(ch == 'S'))
  25.         ch = ' ';
  26.         addch(ch);
  27.         }
  28.     else
  29.         if(ch==' '||ch=='#'||ch=='<'||ch=='>'||ch=='O'||ch==':'||
  30.            ch=='/'||ch=='\\'||ch=='*'||ch=='='||ch=='@'||ch=='T'||
  31.            ch=='X'||ch=='!'||ch=='M'||ch=='S'||ch=='C'||ch=='+'||
  32.            ch=='A')
  33.         addch(ch);
  34.         else
  35.         addch('"');
  36.     }
  37.     addch('|');
  38.     row_ptr++;
  39.     }
  40. move(y+1,0);
  41. addch('+');
  42. for(x = 0;x < ROWLEN; x++)
  43.     addch('-');
  44. addch('+');
  45. if(!debug_disp)
  46.     {
  47.     move(18,0);
  48.     addstr("Press any key to return to the game.");
  49.     refresh();
  50.     (void) getchar();
  51.     move(18,0);
  52.     addstr("                                    ");
  53.     refresh();
  54.     for(y=0;y<=(NOOFROWS+1);y++)
  55.         {
  56.         move(y,0);
  57.         for(x=0;x<=(ROWLEN+2);x++)
  58.         addch(' ');
  59.     }
  60.     }
  61. else
  62.     refresh();
  63. }
  64.  
  65. void display(cx,cy,row_ptr,score)
  66. char (*row_ptr)[ROWLEN+1];
  67. int  cx,cy,score;
  68. {
  69.     int  x,y = 0,
  70.          x_coord,y_coord;
  71.     char ch;
  72.     while(y<(cy-3))
  73.     {
  74.         y++;
  75.         row_ptr++;
  76.     };
  77.     move(0,0);
  78.     addstr("+---------------------------------+");
  79.     move(15,0);
  80.     addstr("+---------------------------------+");
  81.     for(y=(cy-3);y<=(cy+3);y++)
  82.     {
  83.         y_coord = (y+3-cy)*2;
  84.         if ((y<0) || (y>=NOOFROWS))
  85.         {
  86.             move(y_coord+1,0);
  87.             addstr("|#################################|");
  88.             move(y_coord+2,0);
  89.             addstr("|#################################|");
  90.         }
  91.         else
  92.     {
  93.         move(y_coord+1,0);
  94.             addch('|');
  95.         move(y_coord+1,34);
  96.             addch('|');
  97.         move(y_coord+2,0);
  98.             addch('|');
  99.         move(y_coord+2,34);
  100.             addch('|');
  101.             for(x=(cx-5);x<=(cx+5);x++)
  102.             {
  103.                 x_coord = (x+5-cx)*3;
  104.                 if ((x<0) || (x>ROWLEN-1))
  105.                     draw_symbol(x_coord,y_coord,'#');
  106.                 else
  107.                 {
  108.                     ch = (*row_ptr)[x];
  109.                     draw_symbol(x_coord,y_coord,ch);
  110.                 }
  111.             };
  112.         row_ptr++;
  113.         }                   /*   end if   */
  114.     }                       /* end y loop */
  115.     move(16,0);
  116.     refresh();
  117. }
  118.